package com.example.scenictourback.service;

import com.example.scenictourback.dto.HotelDTO;
import com.example.scenictourback.entity.Hotel;

import java.util.List;

public interface HotelService {
    
    /**
     * 获取所有酒店列表
     * @return 酒店DTO列表
     */
    List<HotelDTO> listAllHotels();
    
    /**
     * 根据景区ID获取附近酒店列表
     * @param scenicAreaId 景区ID
     * @return 酒店DTO列表
     */
    List<HotelDTO> listHotelsByScenicAreaId(Integer scenicAreaId);
    
    /**
     * 根据ID获取酒店详情
     * @param id 酒店ID
     * @return 酒店DTO
     */
    HotelDTO getHotelById(Integer id);
    
    /**
     * 根据名称搜索酒店
     * @param name 酒店名称
     * @return 酒店DTO列表
     */
    List<HotelDTO> searchHotelsByName(String name);
    
    /**
     * 新增酒店
     * @param hotel 酒店信息
     * @return 新增后的酒店信息
     */
    HotelDTO addHotel(Hotel hotel);
    
    /**
     * 更新酒店信息
     * @param id 酒店ID
     * @param hotel 更新的酒店信息
     * @return 更新后的酒店信息
     */
    HotelDTO updateHotel(Integer id, Hotel hotel);
    
    /**
     * 删除酒店
     * @param id 酒店ID
     */
    void deleteHotel(Integer id);
} 